function ScrollLR(id, t, d) {//定义滚动器
    var $errorMsg = ""; //错误消息
	var $icId = $.trim(id); //容器id
	var $speed = parseInt(t); //滚动间隔时间
	var $scrollBox = $($icId).children().eq(0); //容器子元素，被滚动的对象
	var $distance = d; //滚动距离，为容器子元素（被滚动的对象）的子元素的宽度+此子元素相对下一个元素的marginRight
	/**
	 * 初始化，判断容器合法性，输出提示信息
	 * @author yankai 2015-12-31
	 * @return {boolean} [合法时（true）,才会显示效果]
	 */
	var iniz = function() {
		if ($($icId).size() > 1) {
			$errorMsg = "找不到id名为 [" + $icId + "] 的容器，请检查……";
			return false;
		} else {
			if ($($icId).children().size() != 1) {
				$errorMsg = "容器 [" + $icId + "] 的[子容器]不是[唯一]，请检查……";
				return false;
			} else {
				if ($scrollBox.children().size() < 1) {
					$errorMsg = "容器 [" + $icId + "] 的[子容器]里存放的对象至少为 [1] 个，请检查……";
					return false;
				} else {
					if ($speed < 500) {
						$errorMsg = "容器 [" + $icId + "] 的[子容器]滚动间隔时间需大于[500]毫秒……";
						return false;
					} else {
						return true;
					}
				}
			}
		}
	}

	if (iniz()) { //容器验证合法时，执行滚动事件

		var $eleList = $scrollBox.children(); //滚动元素的子集
		var $fchild = $eleList.first(); //滚动元素子集的首个子元素
		var $lchild = $eleList.last(); //滚动元素子集的最后一个子元素

		/**
		 * 滚动事件处理器
		 * @param  {string} direction 滚动方向，默认为左，right 或者 r 表示右
		 */
		this.scrollLR = function(direction) {
			if (direction == "right" || direction == 'r') {
				toRightBefore();
			} else {
				toLeft();
			}
		}

		/**
		 * 向左滚动动作完成之后的事件
		 */
		function toLeftAfter() {
			$scrollBox.append($fchild).css({
				"margin-left": "0px", //滚动元素相对于父元素初始边距，建议css样式里设置为0
			}).animate({
				"": "", //模拟延时动作
			}, $speed, toLeft);
		}

		/**
		 * 向左滚动
		 */
		function toLeft() {
			$eleList = $scrollBox.children(); //重新获取滚动元素的子集
			$fchild = $eleList.first(); //重新获取滚动元素子集的第一个子元素
			$scrollBox.stop().animate({
				'margin-left': -$distance + "px", //滚动距离
			}, 500, toLeftAfter);
		}

		/**
		 * 向右滚动之前的事件
		 */
		function toRightBefore() {
			$fchild.before($lchild); //滚动前，首尾元素相互调换位置
			$eleList = $scrollBox.children(); //重新获取首尾元素调换位置后的子集
			$fchild = $eleList.first(); //重新获取滚动元素子集的第一个子元素
			$lchild = $eleList.last(); //重新获取滚动元素子集的最后一个子元素
			$scrollBox.css({
				'margin-left': -$distance + "px", //滚动距离
			}).animate({
				'': '', //模拟延时动作
			}, $speed, toRight);
		}

		/**
		 * 向右滚动
		 */
		function toRight() {
			$scrollBox.stop().animate({
				'margin-left': '0px', //滚动元素相对于父元素初始边距，建议css样式里设置为0
			}, 500, toRightBefore);
		}

	} else { //容器验证非法时，不执行任何动作，并提示错误信息
		this.scrollGoLeft = function(arguments) {
			return false;
		};
		this.scrollGoRight = function(arguments) {
			return false;
		}
		alert($errorMsg);
	}

	//鼠标移动到容器上暂停滚动，离开容器时，继续滚动
	$scrollBox.hover(function() {
		$scrollBox.pause();
	}, function() {
		$scrollBox.resume();
	});
}